19 research outputs found
The Importance of Conflict Resolution Techniques in Autonomous Agile Teams
Today, software companies usually organize their work in teams. Social
science research on team development has shown that for a team to reach a
productive and autonomous stage, it has to be able to manage internal conflicts
and disagreements efficiently. To better facilitate the team development
process, we argue that software engineers' needs additional training in
negotiation skills and conflict resolution. In this position paper, we outline
ideas for what aspects to consider in such training. As an example, we argue
that a majority of the conflicts originate from team-level factors and that
they, therefore, should be managed on the team-level instead of in relation to
dyads.Comment: Accepted at 1st International Workshop on Autonomous Teams (A-TEAMS),
201
Misaligned Values in Software Engineering Organizations
The values of software organizations are crucial for achieving high
performance; in particular, agile development approaches emphasize their
importance. Researchers have thus far often assumed that a specific set of
values, compatible with the development methodologies, must be adopted
homogeneously throughout the company. It is not clear, however, to what extent
such assumptions are accurate.
Preliminary findings have highlighted the misalignment of values between
groups as a source of problems when engineers discuss their challenges.
Therefore, in this study, we examine how discrepancies in values between groups
affect software companies' performance.
To meet our objectives, we chose a mixed method research design. First, we
collected qualitative data by interviewing fourteen (\textit{N} = 14) employees
working in four different organizations and processed it using thematic
analysis. We then surveyed seven organizations (\textit{N} = 184). Our analysis
indicated that value misalignment between groups is related to organizational
performance. The aligned companies were more effective, more satisfied, had
higher trust, and fewer conflicts.
Our efforts provide encouraging findings in a critical software engineering
research area. They can help to explain why some companies are more efficient
than others and, thus, point the way to interventions to address organizational
challenges.Comment: accepted for publication in Journal of Software: Evolution and
Proces
Behavioral Software Engineering - Organizational Change Refocused
Background The development of software is not only a technical endeavor; it is significantly affected by the behaviors of the people involved. Since social scientists have been studying humans for over a century, it is likely that insights they have developed could be used to increase software development effectiveness. There are, nevertheless, indications that software engineering researchers seldom use theories developed and proven within the social sciences. Overall, software engineering research that emphasizes human aspects is still limited compared to studies with technology or process focus.Objective Given the importance of human aspects in software development, we argue that knowledge from the social sciences should be used more extensively to improve software engineering research. Therefore, the primary objective of our research was to advance software engineering by more profoundly considering humans and their behavior. For in-depth insights into such interdisciplinary research efforts, we chose to explore a specific phenomenon: organizational change. Our secondary objective was thus to create understanding to help improve software companies’ organizational change efforts.Method To address our research objectives, we used a variety of research designs and data collection methods, including literature reviews, surveys, interviews, focus groups, and quantitative analysis of project data. This diversity allowed us to examine phenomena from different perspectives.Results We provide directions for future research on behavioral aspects of software engineering by outlining the behavioral software engineering (BSE) research area, reviewing contemporary research, and identifying industrial needs. Moreover, our findings suggest that software engineers form their attitudes toward change collectively and according to their teams’ social norms, which are governed by their distinct professional identity. Our results also indicate that misalignment of organizational values between groups adversely affects change efforts and overall performance.Conclusions Our research concludes that in order to effectively manage organizational change efforts, software companies must strengthen their organizational identity and reduce misalignment of organizational values. By providing such concrete advice on how to improve organizational change, our research confirms the usefulness of and need for additional BSE research to create novel and in-depth insights into software engineering phenomena
Qualitative software engineering research -- reflections and guidelines
Researchers are increasingly recognizing the importance of human aspects in
software development and since qualitative methods are used to, in-depth,
explore human behavior, we believe that studies using such techniques will
become more common.
Existing qualitative software engineering guidelines do not cover the full
breadth of qualitative methods and knowledge on using them found in the social
sciences. The aim of this study was thus to extend the software engineering
research community's current body of knowledge regarding available qualitative
methods and provide recommendations and guidelines for their use.
With the support of an epistemological argument and a literature review, we
suggest that future research would benefit from (1) utilizing a broader set of
research methods, (2) more strongly emphasizing reflexivity, and (3) employing
qualitative guidelines and quality criteria.
We present an overview of three qualitative methods commonly used in social
sciences but rarely seen in software engineering research, namely
interpretative phenomenological analysis, narrative analysis, and discourse
analysis. Furthermore, we discuss the meaning of reflexivity in relation to the
software engineering context and suggest means of fostering it.
Our paper will help software engineering researchers better select and then
guide the application of a broader set of qualitative research methods.Comment: 30 page
Psychometrics in Behavioral Software Engineering: A Methodological Introduction with Guidelines
A meaningful and deep understanding of the human aspects of software
engineering (SE) requires psychological constructs to be considered. Psychology
theory can facilitate the systematic and sound development as well as the
adoption of instruments (e.g., psychological tests, questionnaires) to assess
these constructs. In particular, to ensure high quality, the psychometric
properties of instruments need evaluation. In this paper, we provide an
introduction to psychometric theory for the evaluation of measurement
instruments for SE researchers. We present guidelines that enable using
existing instruments and developing new ones adequately. We conducted a
comprehensive review of the psychology literature framed by the Standards for
Educational and Psychological Testing. We detail activities used when
operationalizing new psychological constructs, such as item pooling, item
review, pilot testing, item analysis, factor analysis, statistical property of
items, reliability, validity, and fairness in testing and test bias. We provide
an openly available example of a psychometric evaluation based on our
guideline. We hope to encourage a culture change in SE research towards the
adoption of established methods from psychology. To improve the quality of
behavioral research in SE, studies focusing on introducing, validating, and
then using psychometric instruments need to be more common.Comment: 56 pages (pp. 1-36 for the main paper, pp. 37-56 working example in
the appendix), 8 figures in the main paper. Accepted for publication at ACM
TOSE
A Method to Assess and Argue for Practical Significance in Software Engineering
A key goal of empirical research in software engineering is to assess practical significance, which answers whether the observed effects of some compared treatments show a relevant difference in practice in realistic scenarios. Even though plenty of standard techniques exist to assess statistical significance, connecting it to practical significance is not straightforward or routinely done; indeed, only a few empirical studies in software engineering assess practical significance in a principled and systematic way. In this paper, we argue that Bayesian data analysis provides suitable tools to assess practical significance rigorously. We demonstrate our claims in a case study comparing different test techniques. The case study\u27s data was previously analyzed (Afzal et al., 2015) using standard techniques focusing on statistical significance. Here, we build a multilevel model of the same data, which we fit and validate using Bayesian techniques. Our method is to apply cumulative prospect theory on top of the statistical model to quantitatively connect our statistical analysis output to a practically meaningful context. This is then the basis both for assessing and arguing for practical significance. Our study demonstrates that Bayesian analysis provides a technically rigorous yet practical framework for empirical software engineering. A substantial side effect is that any uncertainty in the underlying data will be propagated through the statistical model, and its effects on practical significance are made clear. Thus, in combination with cumulative prospect theory, Bayesian analysis supports seamlessly assessing practical significance in an empirical software engineering context, thus potentially clarifying and extending the relevance of research for practitioners
The importance of conflict resolution techniques in autonomous agile teams
Today, software companies usually organize their work in teams. Social science research on team development has shown that for a team to reach a productive and autonomous stage, it has to be able to manage internal conflicts and disagreements efficiently. To better facilitate the team development process, we argue that software engineers needs additional training in negotiation skills and conflict resolution. In this position paper, we outline ideas for what aspects to consider in such training. As an example, we argue that a majority of the conflicts originate from team-level factors and that they, therefore, should be managed on the team-level instead of in relation to dyads
What software engineering can learn from research on affect in social psychology
Social psychology researchers have, traditionally, focused on the construct of thinking rather than on feeling. Since the beginning of the 21st century, social science researchers have, however, increasingly explored the effects of affect. Their work has repeatedly recognized that affects play a crucial role in determining people\u27s behavior. In this short paper, we argue that software engineering studies on affect would benefit from using more of the knowledge that social science researchers have acquired. Without accounting for their findings, we risk re-inventing the wheel. Also, without a profound understanding of the complex interplay between social context and affect, we risk creating overly simplistic solutions that might have considerable long-term adverse effects for software engineers